package cn.felord.debezium.controller;
import cn.felord.debezium.utils.ChineseToHex;
import cn.felord.debezium.utils.String2AcsII16;
import org.apache.commons.lang3.StringUtils;

import java.io.*;
import java.net.*;

import static cn.felord.debezium.utils.TcpClientPusDuan.hexStringToByteArray;

/**
 * 测试 长连接  server 真好用
 */
public class TcpSever {
    public static void main(String[] args) {
        try {
            // 创建一个服务器套接字，端口为12345
            ServerSocket serverSocket = new ServerSocket(5003);
            System.out.println("服务器正在等待客户端连接...");
            // 接收连接
            Socket socket = serverSocket.accept();
            System.out.println("客户端连接成功！");

            // 数据输入输出流
            InputStream inputStream = socket.getInputStream();
//            BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
            PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

            // 创建一个缓冲区
            while (true){
                byte[] buffer = new byte[1024];
                int length = inputStream.read(buffer);
                String responseData = new String(buffer, 0, length);
                System.out.println("收到：" + responseData);
                out.println(ChineseToHex.chineseToHex(responseData));
            }
// 读取服务器返回的数据
//            int length = inputStream.read(buffer);
// 将接收到的数据转换为字符串

            // 读取客户端发送的消息
//            String message = in.readLine();
//            System.out.println("收到客户端消息: " + message);

            // 发送回执
            // 关闭连接
//            in.close();
//            out.close();
//            socket.close();
//            serverSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}